The Tuning Language for Concurrent Collections

نویسندگان

  • Kathleen Knobe
  • Michael G. Burke
چکیده

Concurrent Collections (CnC) is a programming model for parallel systems. A novel aspect of this model is that there is a clear separation of the specification of the application semantics, called the domain specification, and the tuning specification, which maps the domain spec to a platform. The domain spec is declarative specification that indicates the constraints on execution. These correspond to data dependences and control dependences. The domain spec can be written by a domain expert who does not necessarily have knowledge of the target architecture. The separation of concerns isolates the domain expert from the tuning facility. This isolation permits the tuning language to provide strong capabilities for control and flexibility for a tuning expert. In addition, the separation means that a given domain spec can have multiple tuning specs. There might be multiple targets, and within the same target there might be distinct goals, such as performance vs. power. This paper introduces the CnC language for tuning specifications in some detail and show examples of its use. The goal of the tuning language is to provide capability for mapping the parallelism implicit in the domain spec for high-performance execution on a target platform. The focus of this activity is locality. The basic concept in the tuning language is the affinity group, a set of computations that the tuner suggests executing close in time and space. Hierarchical affinity groups allow the specification of relative levels of affinity. They provide a mechanism that allows the programmer to specify locality, while allowing but not requiring him to distinguish between spatial and temporal locality. We will use Cholesky factorization to show the use of multiple tuning specs for a single domain spec. The tuning spec is under active design.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Case Study in Coordination Programming: Performance Evaluation of S-Net vs Concurrent Collections

We present a programming methodology and runtime performance case study comparing the declarative data flow coordination language S-NET with Intel’s Concurrent Collections (CnC). As a coordination language S-NET achieves a near-complete separation of concerns between sequential software components implemented in a separate algorithmic language and their parallel orchestration in an asynchronous...

متن کامل

Multi-core Implementations of the Concurrent Collections Programming Model

In this paper we introduce the Concurrent Collections programming model, which builds on past work on TStreams [8]. In this model, programs are written in terms of high-level application-specific operations. These operations are partially ordered according to only their semantic constraints. These partial orderings correspond to data flow and control flow. This approach supports an important se...

متن کامل

The Concurrent Collections Programming Model

We introduce the Concurrent Collections (CnC) programming model. In this model, programs are written in terms of high-level operations. These operations are partially ordered according to only their semantic constraints. These partial orderings correspond to data dependences and control dependences. The role of the domain expert, whose interest and expertise is in the application domain, and th...

متن کامل

ICC + + { A C + + Dialect for High Performance Parallel ComputingA

ICC++ is a new C++ concurrent dialect which allows sequential/parallel program versions to be maintained with single source, the construction of concurrent data abstractions, convenient expression of irregular and ne-grained concurrency, and supports high performance implementations. ICC++ provides annotations for potential concurrency, facilitating both sharing source with sequential programs ...

متن کامل

Lecture 26 : Dataflow Programming with Intel Concurrent Collections

The Concurrent Collections (CnC) model was developed to address the need for making parallel programming accessible to domain experts or non-professional programmers. One approach that has historically addressed this problem is the creation of domain specific languages (DSLs), such as Matlab, R, SQL, and Google’s MapReduce framework that hide the details of parallelism when programming for a sp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011